Mrežne aplikacije

Mrežne aplikacije su aplikacije koje su pokrenute od strane različitih računala, a koji su spojeni na mrežu. Među najčešće korištene mrežne aplikacije spada korištenje web preglednika kako bi se pronašli sadržaji na WWW-u (World Wide Web), korištenje e-mail aplikacije za slanje e-mailova putem WWW-a (web-bazirani e-mail servisi: Gmail, Outlook, Yahoo Mail i sl.) Svaka aplikacija ima direktnu vezu sa protokolom koji koristi. Primjeri protokola su:

HTTP(HyperText Transfer Protocol), kojeg koristi WWW. HTTP je komunikacijski protokol koji se koristi kako bi se uspostavila veza između WWW servera i proslijedile se HTML stranice direktno do klijentskog preglednika.

POP3(Post Office Protocol verzije 3) i IMAPv4 protokole (Internet Message Access Protocol verzije 4) koriste mnogi programi za elektronsku poštu (e-mail). POP3 jest standardni e-mail server koji se koristi na Internetu, a omogućuje skladištenje pristiglih e-mailova do trenutka kada se korisnik ne prijavi na sustav i prihvati pristigle e-mailove na svoje lokalno računalo. IMAPv4, s druge strane, omogućuje korisniku da svi e-mailovi budu pohranjeni na serveru, bez obaveze da ih prihvati na svoje lokalno računalo. Na taj način korisnik može pregledavati svoje e-mailove sa bilo kojeg računala na mreži, u bilo kojem trenutku.

FTP(File Transfer Protocol) aplikacije najčešće koriste kako bi prenijele datoteke između udaljenih računala.

Telenet/SSH(Secure Shell) protokol koriste programi za udaljeni pristup kako bi pristupili udaljenim računalima.

SNMP(Simple Network Management Protocol) koriste aplikacije za upravljanje mrežom kako bi nadzirale status i aktivnost mrežnih uređaja.

Vrlo je važno naglasiti da je aplikacijski sloj samo jedan od slojeva prema OSI i TCP/IP referentnim modelima. Što je to aplikacijski sloj saznaj u poglavlju Želim znati više!

PhpMyAdmin

Prije nego što krenemo na sam razvoj mrežne aplikacije valjalo bi objasniti što je to phpMyAdmin. PhpMyAdmin je slobodan softverski alat koji je napisan pomoću PHP-a te je namijenjen za administraciju MySQL-a preko web sučelja. Također podržava razne operacije u MySQL-u i MariaDB-u. Često korištene operacije (upravljanje bazama podataka, tablicama, stupcima, relacijama, indeksima, korisnicima, itd.) mogu se odrađivati preko korisničkog sučelja dok još uvijek imate mogućnost direktnog izvršavanja bilo koje SQL naredbe.

PhpMyAdmin možete preuzeti sa službene stranice (https://www.phpmyadmin.net), instalirati na svoje računalo te mu pristupiti putem localhost-a. Sada kada imate osnove o tome što je to phpMyAdmin, možemo krenuti na izradu mrežne aplikacije.

Mrežna aplikacija „OMS društvena mreža“

Na primjeru mrežne aplikacije OMS društvena mreža prikazat ćemo kako se koristi relacijska baza podataka u kojoj se pohranjuju podaci. Aplikacija će se raditi lokalno te će se promjene u bazi moći vidjeti u phpMyAdminu.

Kreirat ćemo relacijsku bazu podataka pod nazivom omsdm koja sadrži tablice korisnik, status, likestatus i komentarstatus. Sve tablice posjeduju primarni ključ, no, kako bismo stvorili relacije među njima moramo dodati i strani ključ.

Slika 1. - ERA dijagram omsdm relacijske baze podataka

Slika 2. - Kreiranje omsdm relacijske baze podataka i tablica

Slika 3. - Dodavanje stranih ključeva

Sada smo u tablicu status dodali strani ključ korisnik koji se veže na primarni ključ u tablici korisnik. Princip je isti za sve ostale navedene tablice. Sada kada tablice imaju strani ključ možemo reći da smo napravili relaciju među njima, odnosno da smo ih povezali.

Slika 4. - Dodavanje korisnika u bazu

U bazu smo dodali dva korisnika, Andreu Mihaljević i Tomislava Jakopeca, koji je ujedno i administrator OMS društvene mreže. Tablica korisnik ima atribute ime, prezime, avatar, lozinka, korisnicko_ime i admin. Pomoću ovih podataka se možemo prijaviti na OMS društvenu mrežu. Ispred vrijednosti lozinke je dodano md5, a to je ime za kriptografsku hash funkciju koja se koristi u sigurnosne svrhe za ratificiranje izvornosti datoteka ili podataka (dugačka je 128 bita, ratificirana internetskim standardom RFC 1321).

Zatim otvorimo web preglednik i upišemo localhost/phpmyadmin i klikom na našu bazu omsdm možemo vidjeti strukturu naše relacijske baze podataka koju smo prethodno kreirali.

Slika 5. - Struktura omsdm relacijske baze podataka u phpMyAdminu

Klikom na tablicu korisnik možemo vidjeti dva korisnika koje smo dodali u našu omsdm relacijsku bazu podataka. Uočite da je lozinka kriptirana pomoću MD5 hash funkcije i ima 128 bitova.

Slika 6. - Pregled tablice korisnik u phpMyAdminu

Na Slici 7. vidimo datoteku prijava.php gdje provjeravamo podudara li se korisničko ime i lozinka koje smo upisali u formu sa atributima korisnicko_ime i lozinka koji se nalaze u tablici korisnik. Ako je sve ispravno možemo ući u OMS društvenu mrežu.

Slika 7. - Datoteka prijava.php

Na Slici 8. vidimo početnu stranicu OMS društvene mreže gdje moramo upisati valjane korisničke podatke kako bismo ušli na stranicu.

Slika 8. - Početna stranica OMS društvene mreže

Na Slici 9. vidimo formu koju smo kreirali i gdje upisujemo korisničko ime i lozinku. U elementu script dolje u dokumentu vidimo da, ukoliko smo upisali točne podatke, idemo na stranicu nadzorna_ploca.php. U suprotnom dobijemo poruku da je uneseno korisničko ime i lozinka neispravno te da probamo ponovno.

Slika 9. - Datoteka index.php

Stranica nadzorna_ploca.php se pojavljuje tek nakon što smo unijeli ispravne korisničke podatke. Na stranici vidimo prostor u koji možemo upisati naš status te ga objaviti.

Slika 10. - Stranica nadzorna_ploca.php

Na slici 11. vidimo kako izgleda dokument nadzorna_ploca.php. Vidimo da se prostor za pisanje statusa veže za tablicu status. To znači da kada upišemo status on će se pojaviti u našoj bazi u tablici status.

Slika 11. - Dokument nadzorna_ploca.php

Slika 12. - Pisanje statusa

Kada smo objavili status on će nam se pokazati na stranici nadzorna_ploca.php ali i u phpMyAdminu kada budemo gledali tablicu status. Na Slici 13. vidimo da se naš status pojavio u tablici status te je taj podatak sada sačuvan u našoj bazi.

Slika 13. - Pregled tablice status u phpMyAdminu

Ovako izgleda naš status na stranici nadzorna_ploca.php kada se objavi. Isto tako kada komentiramo naš komentar će biti spremljen u tablicu komentarstatus, a kada 'lajkamo' status to će biti zabilježeno u tablici likestatus.

Slika 14. - Prikaz statusa na stranici nadzorna_ploca.php

Na Slici 15. vidimo kako izgleda kada netko komentira i 'lajka' vaš status koji ste objavili.

Slika 15. - Prikaz komentara i 'lajka' na status

Na Slici 16. vidimo kako je naš komentar na status sačuvan u bazi u tablici komentarstatus.

Slika 16. - Prikaz tablice komentarstatus u phpMyAdminu

Ovako izgleda tablica likestatus kada nije prazna, odnosno kada netko 'lajka' status.

Slika 17. - Prikaz tablice likestatus u phpMyAdminu

Želim znati više!

Aplikacijski sloj (Application) sadrži sve protokole višeg nivoa, u početku virtualni terminal (TELNET), prijenos datoteka (FTP), elektronička pošta (SMTP), zatim i DNS, NNTP, HTTP. Dakle, omogućava razmjenu podataka među računalima 'peer' procesima u istom sloju između aplikacija iste namijene. Na osnovu port-a pročitanog u zaglavlju segmenta, odgovarajuća aplikacija preuzima njegove podatke te od jednog segmenta ili više njih 'pravi' nama razumljivu skupinu podataka prema na primjer u ASCII kodu, MIDI formatu, JPEG ili TIFF formatu i drugo. Ovaj sloj brine i o tome da li će komunikacija biti Simplex (SX), Half-duplex (HD) ili Full-duplex (FD).

Sada kada imate osnove o izradi mrežne aplikacije, pozivam vas da probate izraditi svoju mrežnu aplikaciju.

Google Developers nudi izradu progresivne mrežne aplikacije sa uputama korak po korak. Svakako je korisno da pogledate što još Google Developers nudi za naučiti.

Android Developers također nudi tutorial za izradu mrežne aplikacije pritom naglašavajući android platformu. Bilo bi korisno da i ovo proučite i pogledate što još Android Developers nudi.

Microsoft Azure također nudi pomoć u savladavanju mrežnih aplikacija i to preko Azurea. Račun za Azure možete napraviti besplatno te isprobati kako je to raditi isključivo na oblaku. Ako vam se svidi ovakav način rada, a niste dovoljno upoznati s ovakvom tehnologijom, potičem vas da proučite Microsoft Virtual Academy gdje možete naučiti kako se koristiti Azureom, ali možete naučiti i još puno toga!

Probajte odabrati jedan od ovih izvora te pomoću njega napraviti svoju mrežnu aplikaciju! Puno sreće u radu mali developeri!

Literatura

Osnovna mrežna terminologija

URL: http://www.phy.pmf.unizg.hr/~dandroic/nastava/ramr/poglavlje_1_1.html

Radić, Drago. Načela rada Interneta: OSI – TCP/IP model

URL: http://www.informatika.buzdo.com/s912-internet-princip-rada.htm

Informacijski sustavi

URL: http://www.pfri.uniri.hr/~tudor/materijali/Informacijski%20sustavi,%20baze%20podataka.htm

Progressive Web Apps

URL: https://developers.google.com/web/progressive-web-apps/

Web Apps

URL: https://developer.android.com/guide/webapps/index.html

Web Apps overview

URL: https://azure.microsoft.com/en-us/documentation/articles/app-service-web-overview/

Microsoft Virtual Academy

URL: https://mva.microsoft.com/

PhpMyAdmin

URL: https://www.phpmyadmin.net/